1. The Field of the Invention
The present invention relates to the field of cellular communications. Specifically, the present invention relates to methods, systems and computer program products for communicating multi-part messages between cellular devices using a standardized interface.
2. Background and Related Art
Communication is widely perceived to be an essential human need. It is generally thought that those who master the art of communication are often most likely to develop valuable relationships and otherwise expand their circle of influence in modem society. Perhaps for this reason, inventions that advance our ability to communicate are often perceived to have the largest contribution to our civilization. Thus, two of the most valued technical innovations in the modem era have been the telephone and the radio.
The advent of the telephone allowed individuals to audibly communicate in real-time over vast distances. Conventional telephones were “hard-wired” in that the telephonic device relied on a wired connection to communicate over a telephonic network with other telephonic devices. Accordingly, conventional telephones were relatively fixed to a particular location.
The advent of the radio allowed for the real-time communication of audible information without the use of wires. At its very core, conventional radio technology involves the use of an antenna for conversion of current signals into terrestrial airwave signals that are widely broadcast. A receiver within the range of the broadcast may then convert the terrestrial airwave signals back into the current signals preparatory to rendering the audio information via a speaker.
Wireless telephonic communication merges conventional radio and telephone technologies. Specifically, a wireless telephone includes an antenna for transmitting and receiving terrestrial airwave signals. Once a connection is established, a user may speak into the telephone. The voice information is then transmitted wirelessly using a predetermined transmission frequency to a receiver that is connected to a wired telephone network such as the traditional Public Switched Telephone Network (PSTN). Once received, the information is communicated through the connection in the wired telephone network to the other telephone. If the other telephone is wireless, then a transmitter receives the information and wirelessly transmits the information to the other telephone. The other telephone may communicate information back to the original telephone in the same manner.
Prior to cellular technology, wireless telephone communications involved radio telephones in which there was typically one central antenna tower for a relatively large area. This limited the number of channels that could be maintained for this relatively large area since each channel occupied given frequency ranges. Accordingly, only a few people could communicate via radio telephones at any given time in this relatively large area. In addition, due to the large area, the telephone transmission power needed to be significant. Accordingly, the radio telephones were quite large and bulky by today's standards, and thus used by relatively few.
Wireless telephone technology became widely available for the masses with the development of cellular technology. Cellular technology involves the spatial division of telephone use regions into relatively small areas called “cells” that may typically be in the range of ten square miles each. Each cell includes a base station for transmitting and receiving wireless signals to and from cellular telephones within the cell.
Each base station transmits and receives wireless signals using frequencies that are typically different than the frequencies used by the immediately surrounding cells, although more remote cells may indeed reuse the same frequencies. Thus, interference from surrounding cells is minimized and frequencies may be reused throughout the network, so long as the frequencies used at any given cell differ from its immediately surrounding cells. This allows for many more available channels and thus cellular networks support orders of magnitude more simultaneous calls than the earlier radio telephone networks.
In addition, since the cell areas are relatively small, the transmission power requirements are comparatively low, and thus the telephone battery size may be kept relatively small. Furthermore, with the high frequencies allocated for cellular communication, cellular antennas may be small as well. Accordingly, cellular telephones and cellular networks have emerged as the dominant means for wireless telephone communication.
Early cellular telephones were exclusively analog meaning that the telephone processed analog signals such as analog voice signals. Later, digital telephones also became available allowing for more efficient compression and encryption technologies to thereby improve the spectral efficiency associated with cellular channels. Digital telephones process information digitally and have been used not only to communicate voice information, but also to communicate text or data messages as well.
Typically, cellular networks support such text or data message communications. However, cellular networks limit the size of message fragments that may be communicated over the cellular network. For example, Global System for Mobile communications (or “GSM”) cellular networks often offer a service called Short Message Service (SMS) in which messages up to 140 bytes are permitted. Many other cellular technologies also support similar short messaging services.
If the message exceeds a certain size, the message is divided into multiple short message fragments of limited size such that each of the short message fragments (along with any other header data) does not exceed the size allowance of the cellular network. The header data may include, for example, routing information, a message identifier that uniquely identifies the multi-part message, an indication of the number of short message fragments in the identified multi-part message, the order of the corresponding short message fragment in the multi-part message, and the like.
The process of fragmenting such multi-part messages into individual short message fragments is quite complex. For example, the permissible size of the short message fragment is not necessarily fixed, but depends on the size of the header information as well. Hereinafter, “a short message fragment” refers to a portion of text or data that was fragmented from the original larger message. A “short message” refers to a short message fragment along with accompanying header data.
For example, suppose a cellular network limits the size of short messages to 140 bytes. Although the size limit of the short message is 140 bytes, one simply cannot say that each short message fragment should be 140 bytes since the short message fragment will be accompanied by header information. If, for a given short message fragment, the ultimate size of the associated header information is 35 bytes, the absolute size limit for that short message fragment will be 105 bytes. If, for another short message fragment, the ultimate size of the associated header information is 45 bytes, the absolute size limit for that other short message fragment is 95 bytes.
In addition, as previously implied, fragmentation requires the formation of header information to allow for proper reassembly of the various short message fragments at the receiving cellular device. Thus, when including such header information, one must consider the capabilities of the receiving cellular device to interpret the header information. Also, since cellular networks may delivery short message fragments out of order, there should be ordering information included in the header. Thus, the implementation of these fragmentation and reassembly functions often involve significant coding effort.
Conventionally, any application that offered the communication of messages aver cellular networks had to individually deal with these non-trivial fragmentation and reassembly issues. Thus, each application provider needed to individually author code to address fragmentation and reassembly. Should standards for fragmentation and reassembly change or expand, each application provider would have to address the change. Therefore, what is desired are methods, systems, and computer program that relieve cellular application providers from having to author code that deals with fragmentation and reassembly of short message fragments.